package mjc.egg;
import mjc.compiler.*;
import mjc.gc.*;
import mg.egg.eggc.compiler.libjava.lex.*;
import mg.egg.eggc.compiler.libjava.messages.*;
import mg.egg.eggc.compiler.libjava.*;
import mg.egg.eggc.compiler.libjava.problem.IProblem;
import java.util.Vector;
public class S_F_MJAVA {
LEX_MJAVA scanner;
  S_F_MJAVA() {
    }
  S_F_MJAVA(LEX_MJAVA scanner) {
    this.scanner = scanner;
    this.att_scanner = scanner;
    }
int [] sync= new int[0];
  boolean att_isVariable;
  TDS att_htdsclasses;
  TDS att_htdsvarlocales;
  INFOCLASSE att_hinfoclasse;
  DTYPE att_type;
  LEX_MJAVA att_scanner;
  private void regle71() throws Exception {

    //declaration
    T_MJAVA x_3 = new T_MJAVA(scanner ) ;
    S_Q_MJAVA x_4 = new S_Q_MJAVA(scanner) ;
    //appel
      action_auto_inh_71(x_4);
      action_action_71(x_4);
    x_3.analyser(LEX_MJAVA.token_super);
    x_4.analyser() ;
      action_typage_71(x_4);
  }
  private void regle62() throws Exception {

    //declaration
    S_OPUN_MJAVA x_2 = new S_OPUN_MJAVA(scanner) ;
    S_F_MJAVA x_3 = new S_F_MJAVA(scanner) ;
    //appel
      action_auto_inh_62(x_2, x_3);
    x_2.analyser() ;
    x_3.analyser() ;
      action_action_62(x_2, x_3);
      action_typage_62(x_2, x_3);
  }
  private void regle60() throws Exception {

    //declaration
    T_MJAVA x_2 = new T_MJAVA(scanner ) ;
    //appel
    x_2.analyser(LEX_MJAVA.token_vrai);
      action_action_60();
      action_typage_60();
  }
  private void regle61() throws Exception {

    //declaration
    T_MJAVA x_2 = new T_MJAVA(scanner ) ;
    //appel
    x_2.analyser(LEX_MJAVA.token_faux);
      action_action_61();
      action_typage_61();
  }
  private void regle66() throws Exception {

    //declaration
    T_MJAVA x_2 = new T_MJAVA(scanner ) ;
    //appel
    x_2.analyser(LEX_MJAVA.token_null);
      action_action_66();
      action_typage_66();
  }
  private void regle67() throws Exception {

    //declaration
    T_MJAVA x_2 = new T_MJAVA(scanner ) ;
    S_E_MJAVA x_3 = new S_E_MJAVA(scanner) ;
    T_MJAVA x_4 = new T_MJAVA(scanner ) ;
    //appel
      action_auto_inh_67(x_3);
    x_2.analyser(LEX_MJAVA.token_paro);
    x_3.analyser() ;
    x_4.analyser(LEX_MJAVA.token_parf);
      action_action_67(x_3);
      action_typage_67(x_3);
  }
  private void regle59() throws Exception {

    //declaration
    T_MJAVA x_2 = new T_MJAVA(scanner ) ;
    //appel
    x_2.analyser(LEX_MJAVA.token_entier);
      action_action_59(x_2);
      action_typage_59(x_2);
  }
  private void regle68() throws Exception {

    //declaration
    T_MJAVA x_2 = new T_MJAVA(scanner ) ;
    S_TYPE_MJAVA x_3 = new S_TYPE_MJAVA(scanner) ;
    T_MJAVA x_4 = new T_MJAVA(scanner ) ;
    S_ARGS_MJAVA x_6 = new S_ARGS_MJAVA(scanner) ;
    T_MJAVA x_7 = new T_MJAVA(scanner ) ;
    //appel
      action_auto_inh_68(x_3, x_6);
    x_2.analyser(LEX_MJAVA.token_nouveau);
    x_3.analyser() ;
    x_4.analyser(LEX_MJAVA.token_paro);
      action_milieu_68(x_3, x_6);
    x_6.analyser() ;
    x_7.analyser(LEX_MJAVA.token_parf);
      action_action_68(x_3, x_6);
  }
  private void regle69() throws Exception {

    //declaration
    T_MJAVA x_2 = new T_MJAVA(scanner ) ;
    S_Q_MJAVA x_3 = new S_Q_MJAVA(scanner) ;
    //appel
      action_auto_inh_69(x_2, x_3);
    x_2.analyser(LEX_MJAVA.token_ident);
    x_3.analyser() ;
      action_action_69(x_2, x_3);
  }
  private void regle70() throws Exception {

    //declaration
    T_MJAVA x_2 = new T_MJAVA(scanner ) ;
    S_Q_MJAVA x_3 = new S_Q_MJAVA(scanner) ;
    //appel
      action_auto_inh_70(x_3);
    x_2.analyser(LEX_MJAVA.token_this);
    x_3.analyser() ;
      action_action_70(x_3);
      action_typage_70(x_3);
  }
private void action_action_60() throws Exception {
try {
// instructions
this.att_isVariable=false;
}catch(RuntimeException e) {		//e.printStackTrace();
       scanner._interrompre(IProblem.Internal, scanner.getBeginLine(), ICoreMessages.id_EGG_runtime_error, CoreMessages.EGG_runtime_error,e.getStackTrace());
	}
  }
private void action_auto_inh_62(S_OPUN_MJAVA x_2, S_F_MJAVA x_3) throws Exception {
try {
// instructions
x_3.att_htdsvarlocales=this.att_htdsvarlocales;
x_3.att_htdsclasses=this.att_htdsclasses;
x_3.att_hinfoclasse=this.att_hinfoclasse;
}catch(RuntimeException e) {		//e.printStackTrace();
       scanner._interrompre(IProblem.Internal, scanner.getBeginLine(), ICoreMessages.id_EGG_runtime_error, CoreMessages.EGG_runtime_error,e.getStackTrace());
	}
  }
private void action_auto_inh_67(S_E_MJAVA x_3) throws Exception {
try {
// instructions
x_3.att_htdsvarlocales=this.att_htdsvarlocales;
x_3.att_htdsclasses=this.att_htdsclasses;
x_3.att_hinfoclasse=this.att_hinfoclasse;
}catch(RuntimeException e) {		//e.printStackTrace();
       scanner._interrompre(IProblem.Internal, scanner.getBeginLine(), ICoreMessages.id_EGG_runtime_error, CoreMessages.EGG_runtime_error,e.getStackTrace());
	}
  }
private void action_action_62(S_OPUN_MJAVA x_2, S_F_MJAVA x_3) throws Exception {
try {
// instructions
this.att_isVariable=false;
}catch(RuntimeException e) {		//e.printStackTrace();
       scanner._interrompre(IProblem.Internal, scanner.getBeginLine(), ICoreMessages.id_EGG_runtime_error, CoreMessages.EGG_runtime_error,e.getStackTrace());
	}
  }
private void action_auto_inh_69(T_MJAVA x_2, S_Q_MJAVA x_3) throws Exception {
try {
// instructions
x_3.att_htdsvarlocales=this.att_htdsvarlocales;
x_3.att_htdsclasses=this.att_htdsclasses;
x_3.att_hinfoclasse=this.att_hinfoclasse;
}catch(RuntimeException e) {		//e.printStackTrace();
       scanner._interrompre(IProblem.Internal, scanner.getBeginLine(), ICoreMessages.id_EGG_runtime_error, CoreMessages.EGG_runtime_error,e.getStackTrace());
	}
  }
private void action_typage_71(S_Q_MJAVA x_4) throws Exception {
try {
// instructions
this.att_type=x_4.att_type;
}catch(RuntimeException e) {		//e.printStackTrace();
       scanner._interrompre(IProblem.Internal, scanner.getBeginLine(), ICoreMessages.id_EGG_runtime_error, CoreMessages.EGG_runtime_error,e.getStackTrace());
	}
  }
private void action_action_61() throws Exception {
try {
// instructions
this.att_isVariable=false;
}catch(RuntimeException e) {		//e.printStackTrace();
       scanner._interrompre(IProblem.Internal, scanner.getBeginLine(), ICoreMessages.id_EGG_runtime_error, CoreMessages.EGG_runtime_error,e.getStackTrace());
	}
  }
private void action_auto_inh_68(S_TYPE_MJAVA x_3, S_ARGS_MJAVA x_6) throws Exception {
try {
// instructions
x_6.att_htdsvarlocales=this.att_htdsvarlocales;
x_3.att_htdsclasses=this.att_htdsclasses;
x_6.att_htdsclasses=this.att_htdsclasses;
x_3.att_hinfoclasse=this.att_hinfoclasse;
x_6.att_hinfoclasse=this.att_hinfoclasse;
}catch(RuntimeException e) {		//e.printStackTrace();
       scanner._interrompre(IProblem.Internal, scanner.getBeginLine(), ICoreMessages.id_EGG_runtime_error, CoreMessages.EGG_runtime_error,e.getStackTrace());
	}
  }
private void action_typage_70(S_Q_MJAVA x_3) throws Exception {
try {
// instructions
this.att_type=x_3.att_type;
}catch(RuntimeException e) {		//e.printStackTrace();
       scanner._interrompre(IProblem.Internal, scanner.getBeginLine(), ICoreMessages.id_EGG_runtime_error, CoreMessages.EGG_runtime_error,e.getStackTrace());
	}
  }
private void action_typage_59(T_MJAVA x_2) throws Exception {
try {
// instructions
this.att_type= new DTYPE("entier", 4);
}catch(RuntimeException e) {		//e.printStackTrace();
       scanner._interrompre(IProblem.Internal, scanner.getBeginLine(), ICoreMessages.id_EGG_runtime_error, CoreMessages.EGG_runtime_error,e.getStackTrace());
	}
  }
private void action_action_68(S_TYPE_MJAVA x_3, S_ARGS_MJAVA x_6) throws Exception {
try {
// instructions
this.att_isVariable=false;
this.att_type=x_3.att_type;
}catch(RuntimeException e) {		//e.printStackTrace();
       scanner._interrompre(IProblem.Internal, scanner.getBeginLine(), ICoreMessages.id_EGG_runtime_error, CoreMessages.EGG_runtime_error,e.getStackTrace());
	}
  }
private void action_action_67(S_E_MJAVA x_3) throws Exception {
try {
// instructions
this.att_isVariable=x_3.att_isVariable;
}catch(RuntimeException e) {		//e.printStackTrace();
       scanner._interrompre(IProblem.Internal, scanner.getBeginLine(), ICoreMessages.id_EGG_runtime_error, CoreMessages.EGG_runtime_error,e.getStackTrace());
	}
  }
private void action_action_66() throws Exception {
try {
// instructions
this.att_isVariable=true;
}catch(RuntimeException e) {		//e.printStackTrace();
       scanner._interrompre(IProblem.Internal, scanner.getBeginLine(), ICoreMessages.id_EGG_runtime_error, CoreMessages.EGG_runtime_error,e.getStackTrace());
	}
  }
private void action_action_69(T_MJAVA x_2, S_Q_MJAVA x_3) throws Exception {
try {
// locales
INFO loc_i;
TDS loc_t;
SIGNATURE loc_s;
PARAMETRES loc_p;
// instructions
loc_t=this.att_htdsvarlocales;
if (!(x_3.att_type.compareTo( new DTYPE("argument", 0)))){
loc_i=loc_t.chercherGlobalement(x_2.att_txt);
if (loc_i==null){
System.out.print(""+("cas attribut"));
att_scanner._interrompre(IProblem.Semantic, att_scanner.getBeginLine(), IMJAVAMessages.id_MJAVA_unknown_token, MJAVAMessages.MJAVA_unknown_token,new Object[]{""+x_2.att_txt});

}
else {
this.att_type=loc_i.getType();
}
}
else {
if ((x_3.att_type.compareTo( new DTYPE("argument", 0)))){
loc_s= new SIGNATURE(x_2.att_txt);
    loc_s.getTypesFromParams(x_3.att_parametres);
loc_i=loc_t.chercherGlobalement(loc_s.toString());
if (loc_i==null){
System.out.print(""+("cas methode"));
att_scanner._interrompre(IProblem.Semantic, att_scanner.getBeginLine(), IMJAVAMessages.id_MJAVA_unknown_token, MJAVAMessages.MJAVA_unknown_token,new Object[]{""+x_2.att_txt});

}
else {
this.att_type=loc_i.getType();
}
}
else {
this.att_type=x_3.att_type;
}
}
this.att_isVariable=x_3.att_isVariable;
}catch(RuntimeException e) {		//e.printStackTrace();
       scanner._interrompre(IProblem.Internal, scanner.getBeginLine(), ICoreMessages.id_EGG_runtime_error, CoreMessages.EGG_runtime_error,e.getStackTrace());
	}
  }
private void action_milieu_68(S_TYPE_MJAVA x_3, S_ARGS_MJAVA x_6) throws Exception {
try {
// instructions
x_6.att_hnbarg=0;
x_6.att_hparametres= new PARAMETRES();
}catch(RuntimeException e) {		//e.printStackTrace();
       scanner._interrompre(IProblem.Internal, scanner.getBeginLine(), ICoreMessages.id_EGG_runtime_error, CoreMessages.EGG_runtime_error,e.getStackTrace());
	}
  }
private void action_typage_60() throws Exception {
try {
// instructions
this.att_type= new DTYPE("booleen", 1);
}catch(RuntimeException e) {		//e.printStackTrace();
       scanner._interrompre(IProblem.Internal, scanner.getBeginLine(), ICoreMessages.id_EGG_runtime_error, CoreMessages.EGG_runtime_error,e.getStackTrace());
	}
  }
private void action_typage_62(S_OPUN_MJAVA x_2, S_F_MJAVA x_3) throws Exception {
try {
// instructions
this.att_type= new DTYPE("booleen", 1);
}catch(RuntimeException e) {		//e.printStackTrace();
       scanner._interrompre(IProblem.Internal, scanner.getBeginLine(), ICoreMessages.id_EGG_runtime_error, CoreMessages.EGG_runtime_error,e.getStackTrace());
	}
  }
private void action_typage_61() throws Exception {
try {
// instructions
this.att_type= new DTYPE("booleen", 1);
}catch(RuntimeException e) {		//e.printStackTrace();
       scanner._interrompre(IProblem.Internal, scanner.getBeginLine(), ICoreMessages.id_EGG_runtime_error, CoreMessages.EGG_runtime_error,e.getStackTrace());
	}
  }
private void action_auto_inh_71(S_Q_MJAVA x_4) throws Exception {
try {
// instructions
x_4.att_htdsvarlocales=this.att_htdsvarlocales;
x_4.att_htdsclasses=this.att_htdsclasses;
x_4.att_hinfoclasse=this.att_hinfoclasse;
}catch(RuntimeException e) {		//e.printStackTrace();
       scanner._interrompre(IProblem.Internal, scanner.getBeginLine(), ICoreMessages.id_EGG_runtime_error, CoreMessages.EGG_runtime_error,e.getStackTrace());
	}
  }
private void action_typage_66() throws Exception {
try {
// instructions
this.att_type= new DTYPE("void", 0);
}catch(RuntimeException e) {		//e.printStackTrace();
       scanner._interrompre(IProblem.Internal, scanner.getBeginLine(), ICoreMessages.id_EGG_runtime_error, CoreMessages.EGG_runtime_error,e.getStackTrace());
	}
  }
private void action_auto_inh_70(S_Q_MJAVA x_3) throws Exception {
try {
// instructions
x_3.att_htdsvarlocales=this.att_htdsvarlocales;
x_3.att_htdsclasses=this.att_htdsclasses;
x_3.att_hinfoclasse=this.att_hinfoclasse;
}catch(RuntimeException e) {		//e.printStackTrace();
       scanner._interrompre(IProblem.Internal, scanner.getBeginLine(), ICoreMessages.id_EGG_runtime_error, CoreMessages.EGG_runtime_error,e.getStackTrace());
	}
  }
private void action_action_59(T_MJAVA x_2) throws Exception {
try {
// instructions
this.att_isVariable=false;
}catch(RuntimeException e) {		//e.printStackTrace();
       scanner._interrompre(IProblem.Internal, scanner.getBeginLine(), ICoreMessages.id_EGG_runtime_error, CoreMessages.EGG_runtime_error,e.getStackTrace());
	}
  }
private void action_typage_67(S_E_MJAVA x_3) throws Exception {
try {
// instructions
this.att_type=x_3.att_type;
}catch(RuntimeException e) {		//e.printStackTrace();
       scanner._interrompre(IProblem.Internal, scanner.getBeginLine(), ICoreMessages.id_EGG_runtime_error, CoreMessages.EGG_runtime_error,e.getStackTrace());
	}
  }
private void action_action_70(S_Q_MJAVA x_3) throws Exception {
try {
// instructions
this.att_isVariable=x_3.att_isVariable;
}catch(RuntimeException e) {		//e.printStackTrace();
       scanner._interrompre(IProblem.Internal, scanner.getBeginLine(), ICoreMessages.id_EGG_runtime_error, CoreMessages.EGG_runtime_error,e.getStackTrace());
	}
  }
private void action_action_71(S_Q_MJAVA x_4) throws Exception {
try {
// instructions
this.att_isVariable=false;
}catch(RuntimeException e) {		//e.printStackTrace();
       scanner._interrompre(IProblem.Internal, scanner.getBeginLine(), ICoreMessages.id_EGG_runtime_error, CoreMessages.EGG_runtime_error,e.getStackTrace());
	}
  }
  public void analyser () throws Exception {
    scanner.lit ( 1 ) ;
    switch ( scanner.fenetre[0].code ) {
      case LEX_MJAVA.token_entier : // 19954
        regle59 () ;
      break ;
      case LEX_MJAVA.token_vrai : // 19950
        regle60 () ;
      break ;
      case LEX_MJAVA.token_faux : // 19951
        regle61 () ;
      break ;
      case LEX_MJAVA.token_plus : // 19942
        regle62 () ;
      break ;
      case LEX_MJAVA.token_moins : // 19943
        regle62 () ;
      break ;
      case LEX_MJAVA.token_non : // 19949
        regle62 () ;
      break ;
      case LEX_MJAVA.token_null : // 19935
        regle66 () ;
      break ;
      case LEX_MJAVA.token_paro : // 19913
        regle67 () ;
      break ;
      case LEX_MJAVA.token_nouveau : // 19932
        regle68 () ;
      break ;
      case LEX_MJAVA.token_ident : // 19955
        regle69 () ;
      break ;
      case LEX_MJAVA.token_this : // 19952
        regle70 () ;
      break ;
      case LEX_MJAVA.token_super : // 19953
        regle71 () ;
      break ;
      default :
               scanner._interrompre(IProblem.Syntax, scanner.getBeginLine(), IMJAVAMessages.id_MJAVA_unexpected_token,MJAVAMessages.MJAVA_unexpected_token,new String[]{scanner.fenetre[0].getNom()});
    }
  }
  }
